import redis

# 定义地址和端口
host = '127.0.0.1'
port = 6379

# 建立redis连接
r = redis.Redis(host=host, port=port)

# 有序集合  排行榜
# 添加有序集合
# r.zadd('myrank', {'car': 100})
# r.zadd('myrank', {'phone': 30})
# 删除
# r.delete('myrank')
# 修改操作  累加累减
# newscore = r.zincrby('myrank', -300, 'phone')
# 遍历有序集合  排行榜排序
print(r.zrange('myrank', 0, -1, desc=True, withscores=True))  #从集合myrank的下标0到最后一个下标，desc=True倒序排序  withscores 按具体的值排序
# 赋值
myrank = r.zrange('myrank', 0, -1, desc=True, withscores=True)
# 失效时间
# r.expire('myrank', 60)
# 倒计时
print(r.ttl('myrank'))
# 取值
# print(myrank[0][-1])


# 生命周期的使用
# r.set("123", "123")
# 失效时间
# r.expire("123", 10)
# r.get('123')
# print(r.get("123"))

# list使用  累加  rpush 从尾部推东西
# r.lpush('testlist', 1)  # lpush 从头部推东西
# print(r.llen('testlist'))
#
# mylist = r.lrange('testlist', 0, r.llen('testlist'))
# print(mylist)

# 清空
# r.delete('testlist')
# print(r.llen('testlist'))



# set使用
# #声明一个值
# r.set('test', '321')
#
# # 取值
# code = r.get('test')
#
# # 转码
# code = code.decode('utf-8')
#
# print(code)

# 添加
# r.sadd('testset', '爆款')
# r.sadd('testset', '修身')
#
# r.delete('testset')  # 集合
#
# # 查询
# myset = r.smembers('testset')  # 返回二进制格式
# print(myset)
# myset = list(myset)
# mytag = str(myset[0], 'utf-8')
# print(mytag)
